
package com.nn.smart.bus.redis;

import com.nn.smart.bus.commons.tools.redis.RedisKeys;
import com.nn.smart.bus.commons.tools.redis.RedisUtils;
import com.nn.smart.bus.dto.SysSimpleDictDTO;
import com.nn.smart.bus.dto.epdc.result.EpdcAppSysDictResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 区划信息表
 *
 * @since v1.0.0 2019-05-08
 */
@Component
public class SysDictRedis {

    @Autowired
    private RedisUtils redisUtils;

    /**
     * 根据数据字典类型，从redis获取简版数据字典列表
     *
     * @param dictType 数据字典类型
     * @return java.util.List<com.nn.smart.dto.SysSimpleDictDTO>
     * @author nanning
     */
    public List<SysSimpleDictDTO> getSimpleDictList(String dictType) {
        String dictKey = RedisKeys.getSimpleDictKey(dictType);
        return (List<SysSimpleDictDTO>) redisUtils.get(dictKey);
    }

    /**
     * 根据数据字典类型，将简版数据字典列表放入缓存
     *
     * @param dictType       数据字典类型
     * @param simpleDictList 列表
     * @return void
     * @author nanning
     * @date 2019/7/15 09:50
     */
    public void setSimpleDictList(String dictType, List<SysSimpleDictDTO> simpleDictList) {
        String dictKey = RedisKeys.getSimpleDictKey(dictType);
        redisUtils.set(dictKey, simpleDictList);
    }

    /**
     * 根据数据字典类型，从redis删除简版数据字典列表
     *
     * @param dictType
     * @return void
     * @author nanning
     */
    public void removeSimpleDictList(String dictType) {
        String dictKey = RedisKeys.getSimpleDictKey(dictType);
        redisUtils.delete(dictKey);
    }
    /**
     * 根据数据字典类型，从redis获取详细数据字典列表
     *
     * @param dictType 数据字典类型
     * @return java.util.List<com.nn.smart.dto.epdc.result.EpdcAppSysDictResultDTO>
     * @author nanning
     * @date 2019/7/15 09:42
     */
    public List<EpdcAppSysDictResultDTO> getFullDictList(String dictType) {
        String dictKey = RedisKeys.getFullDictKey(dictType);
        return (List<EpdcAppSysDictResultDTO>) redisUtils.get(dictKey);
    }

    /**
     * 根据数据字典类型，将详细数据字典列表放入缓存
     *
     * @param dictType       数据字典类型
     * @param fullDictList 列表
     * @return void
     * @author nanning
     */
    public void setFullDictList(String dictType, List<EpdcAppSysDictResultDTO> fullDictList) {
        String dictKey = RedisKeys.getFullDictKey(dictType);
        redisUtils.set(dictKey, fullDictList);
    }

}
